#ifndef PGSQLQUERY_H_INCLUDED
#define PGSQLQUERY_H_INCLUDED

#include <string>
#include <libpq-fe.h>

#include "AbstractQuery.h"

class PGSQLDatabase;

/**
* Diese Klassen dient dem Senden von SQL-Befehlen an eine PostgreSQL Datenbank.
**/
class PGSQLQuery : public AbstractQuery{
public:
    /**
    * Im Konstruktor wird ein SQL-Befehl an die PostgreSQL Datenbank gesendet. Baut eine Verbindung auf, wenn noch keine Verbindung zur angegebenen PostgreSQL Datenbank erzeugt wurde.
    **/
	PGSQLQuery(PGSQLDatabase *dbc, PString database, PString sqlQuery);

	/**
	* Destruktor der PGSQLQuery Klasse.
	**/
	virtual ~PGSQLQuery();

	/**
	* Gibt eine Ergebniszeile zurück.
	**/
	PDataRow fetch();
private:
	PGresult* result;
};

#endif // PGSQLQUERY_H_INCLUDED
